g_autoptr(GVariant) ret_metadata = NULL;
GError *temp_error = NULL;
- if (!ot_util_variant_map (metadata_path, G_VARIANT_TYPE ("a{sv}"),
- TRUE, &ret_metadata, &temp_error))
+ if (!ot_util_variant_map_at (AT_FDCWD, gs_file_get_path_cached (metadata_path),
+ G_VARIANT_TYPE ("a{sv}"),
+ TRUE, &ret_metadata, &temp_error))
{
if (g_error_matches (temp_error, G_IO_ERROR, G_IO_ERROR_NOT_FOUND))
{
if (!summary_data)
goto out;
- if (!ot_util_variant_map (signature_path, G_VARIANT_TYPE (OSTREE_SUMMARY_SIG_GVARIANT_STRING),
- TRUE, &existing_signatures, &temp_error))
+ if (!ot_util_variant_map_at (AT_FDCWD, gs_file_get_path_cached (signature_path),
+ G_VARIANT_TYPE (OSTREE_SUMMARY_SIG_GVARIANT_STRING),
+ TRUE, &existing_signatures, &temp_error))
{
if (g_error_matches (temp_error, G_IO_ERROR, G_IO_ERROR_NOT_FOUND))
{
return g_variant_take_ref (variant);
}
-/**
- * ot_util_variant_map:
- * @src: a #GFile
- * @type: Use this for variant
- * @trusted: See documentation of g_variant_new_from_data()
- * @out_variant: (out): Return location for new variant
- * @error:
- *
- * Memory-map @src, and store a new #GVariant referring to this memory
- * in @out_variant. Note the returned @out_variant is not floating.
- */
-gboolean
-ot_util_variant_map (GFile *src,
- const GVariantType *type,
- gboolean trusted,
- GVariant **out_variant,
- GError **error)
-{
- gboolean ret = FALSE;
- g_autoptr(GVariant) ret_variant = NULL;
- GMappedFile *mfile = NULL;
-
- mfile = gs_file_map_noatime (src, NULL, error);
- if (!mfile)
- goto out;
-
- ret_variant = g_variant_new_from_data (type,
- g_mapped_file_get_contents (mfile),
- g_mapped_file_get_length (mfile),
- trusted,
- (GDestroyNotify) g_mapped_file_unref,
- mfile);
- g_variant_ref_sink (ret_variant);
-
- ret = TRUE;
- ot_transfer_out_value(out_variant, &ret_variant);
- out:
- return ret;
-}
-
gboolean
ot_util_variant_map_at (int dfd,
const char *path,
GCancellable *cancellable,
GError **error);
-gboolean ot_util_variant_map (GFile *src,
- const GVariantType *type,
- gboolean trusted,
- GVariant **out_variant,
- GError **error);
-
gboolean ot_util_variant_map_at (int dfd,
const char *path,
const GVariantType *type,
GError **error)
{
gboolean ret = FALSE;
- g_autoptr(GFile) f = NULL;
g_autoptr(GVariant) variant = NULL;
- f = g_file_new_for_path (filename);
-
- if (!ot_util_variant_map (f, type, TRUE, &variant, error))
+ if (!ot_util_variant_map_at (AT_FDCWD, filename, type, TRUE, &variant, error))
goto out;
ot_dump_variant (variant);